The present invention relates to an information transmission service provided via a network such as Internet, LAN or the like. More particularly, the present invention relates to a camera control system comprising a camera server which controls a camera to capture an image sensed by the camera and a camera client which remotely operates the camera, also relates to the camera server, camera client, method of controlling thereof and a computer-readable memory medium.
Furthermore, the present invention relates to a method of realizing a service which transmits image/audio/document data on a computer network such as Internet, LAN or the like. Particularly, the present invention relates to an information processing system and method of a mechanism for monitoring operational states in the service realized by a client-server form to handle information such as image/audio data which constantly changes.
Since high-speed LAN has become available and Internet is now widely used, a user has more chance to use various services (information or games), provided by computers located in a remote place, via computer network. As a typical example of such service, the service provided by WWW (World Wide Web) for offering document information, or the service provided by VOD (Video on Demand) for broadcasting moving pictures and audio data, are available.
Normally, the system for providing such services (hereinafter referred to as a "service system") is realized in the server-client form. In the service system of this type, a server program (hereinafter referred to as a "server") is operated on an appropriate computer (hereinafter referred to as a "host") connected to a network to offer the service such as information offer or the like. A user of the service (hereinafter referred to as a "user") starts a client program (hereinafter referred to as a "client") on the nearest host and uses the service provided by the server.
As an example of the system in the server-client form, inventors of the present invention have suggested several systems which can view an image sensed by a camera apparatus by operating the camera apparatus which is connected to a camera server located in a remote place via a network.
According to the suggested systems, for instance, a user is able to view an image of a sight-seeing spot without leaving home, by utilizing Internet as the network. Therefore, the future of these systems is promising.
More specifically, a camera server which directly controls a camera is provided on the Internet. An image sensed by the camera is transferred in real time to a client who is connected to the server.
However, since Internet has a limited transmission bandwidth in the network, the number of users who can actually receive the image is limited.
Therefore, when the number of clients connected to the server exceeds an appropriate number, and if another access request is transmitted by a new client, a warning message informing "cannot access because busy" is transmitted to the new client and transferring of an image is not performed, or the access request to the server is rejected.
However, when the access request is rejected, the user is uninformed of information such as the number of clients who are presently requesting to receive the image, or the volume of traffic on the camera server. In addition, a user is not given any suggestion as to whether to try sending the access request again or to give up sending the access request.
The above-described problem is not limited to a camera server which directly controls the video camera, but is also common to a server which transfers an image stored as data.
In addition, in the service system realized by the aforementioned server-client form, sometimes a relay server for relaying data is established between a server and a client in order to deal with an expanded scale of Internet/LAN. Expanding the scale of a computer network results in increase in the number of clients and increase in the amount of data flow in the network; consequently a large load is added to the server (hereinafter referred to as a main server in order to distinguish it from the relay server). To solve such problem, the relay server has been introduced.
The introduction of a relay server attains the following advantages:
i) reduced load on the main server; PA1 ii) reduced load on the network; and PA1 iii) reduced load on the client. PA1 i) maintenance difficulties because of the expanded scale of the service system; and PA1 ii) need to integrate plural services. Hereinafter, the above problems are discussed. PA1 service stop due to a problem on the main server; PA1 temporary service delay due to an increased load on the main server; PA1 relay processing stop due to a problem on the relay server; or PA1 temporary delay of relaying processing due to an increased load on the relay server. PA1 make a phone call to a person responsible for the service; PA1 use another relay server. Use another route/another line; or PA1 wait and observe the situation.
Hereinafter, each of the advantages will be described.
i) Reduced Load on the Main Server
By virtue of the introduction of the relay server, a part of the function of the main server can be performed by the relay server. Because the relay server incorporates the function to manage clients who utilize the service, the load added to the main server will not increase even if the number of clients increases.
ii) Reduced Load on the Network
A large-scale computer network such as Internet is realized by, in terms of physical connection, mutually connecting various lines (telephone lines, optical fiber and the like) having different bandwidths. Therefore, a certain line is able to transmit data in extremely high speed, while another line has capability to process only at one hundredth of that speed. If data is transmitted from the main server to a client without considering such difference, a client who is able to use a high-speed line can receive high-quality data, but a client who is able to use only a low-speed line receives partially-missing data or lose the entire data. In order to cope with such situation, the relay server makes adjustment to the amount of data or data quality to suit the processing capability of a network or a line so that all clients can receive the best service.
A moving-picture-transmission service in a VOD system is now taken as an example. It is assumed that two clients are accessing the server, one client being capable of communicating at 10 Mbps (Mega-bits per second) and the other client capable of communicating at 64 Kbps (Kilo-bits per second). In this condition, if an image where one frame has 500K bits is transmitted at twenty frames per second, the client capable of communicating at 10 Mbps can receive data without any problem. However, the other client capable of communicating at 64 Kbps requires eight seconds to transmit data corresponding to one frame.
To handle the above situation, the relay server converts moving-picture data transmitted by the main server into data where one frame has a 16K-bit data capacity, and transfers the converted data at four frames per second. Accordingly, the client capable of communicating at 64 Kbps is able to receive the service with some degree of quality.
iii) Reduced Load on the Client
The relay server can substitute not only for the function of the main server but also for the processing performed by a client. For instance, the process of converting data e.g. images or the like, transmitted by the main server into a displayable form is normally performed by a client. However, in a case where data conversion is of a type which does not depend upon an internal structure of the client, or a case where there are plural clients who utilize the same form of data, the conversion processing can be performed by the relay server. As a result, processing performed by each client can be centralized, so that the load added to the client can be reduced.
On the other hand, introduction of the relay server generates the following problems to be solved:
i) Maintenance Difficulties Because of the Expanded Scale of the Service System
As the network is expanded, a larger number of relay servers becomes necessary. Depending on a case, a structure where relay servers are configured in hierarchy may be possible. In such structure, relay servers are scattered through the network, making it difficult to manage.
For instance, it is assumed that there is a problem in a relay server and the processing of the relay server has stopped. A client who is located under the management of the relay server will not be able to use the service of the main server. The user side (client) can assume the following reasons as a cause of service stop:
In order to appropriately handle the situation, it is necessary to specify the cause which stopped the service.
If there is means to obtain sufficient information, it is possible to take necessary steps such as the followings, depending on the aforementioned causes:
However, in the above example, the relay server, which is supposed to provide the client with the information regarding why the service is not available, has stopped. Therefore, the user is unable to specify the cause of the service stop. Thus, it is difficult to take an effective action.
ii) Needs To Integrate Plural Services
In the network environment, not only one service alone is used, but plural services are simultaneously used. For instance, simultaneous utilization of a moving-picture-transmission service and audio-data-transmission service can construct a TV phone service.
In view of the above, in order to solve the "maintenance difficulties because of the expanded scale of the service system," it is preferable to provide mechanism/means which can be widely used, rather than a mechanism/means which handles each of the service systems. In addition, such mechanism/means which can be widely used is effective in view of the situation where a version of the relay server is updated or the case of utilizing a relay server, a main server and a client manufactured by different manufacturers.
For instance, in the field of WWW, there is a mixture of clients (Web browser) manufactured by different manufacturers, causing a problem of incompatibility among browsers. There is a possibility that the similar problem occurs in other service systems besides WWW.